There is currently a sustained convergence of multimedia applications and multi-core processors (e.g. next generation game consoles). The onset of multi-core architecture changes significantly programming semantics into parallel programming, rendering existing techniques unsuitable. Therefore, the convergence requires novel techniques to exploit the benefits of the new features of multi-core technology.
One of the basic operations widely used in image processing and other multimedia applications is convolution. It is used in a wide variety of applications in image processing such as image filtering, image coding and compression, image analysis and evaluation and computing shape descriptors for objects. It is also used for analysis and computation in many fields of mathematics and engineering.
In processing an image defined on an array of pixels, convolutions may be selectively required at some pixels but not at other pixels. Unfortunately, current techniques for computing convolutions selectively at the pixels of an image do not sufficiently exploit this selectivity and thus lack efficiency.
Accordingly, there is a need for a method and system that computes convolutions selectively at pixels of an image in a manner that sufficiently exploits this selectivity to improve the efficiency of computing the convolutions.